From ca9a6075e6d68e8fdd64968eb01f2e4f2e4aa06c Mon Sep 17 00:00:00 2001 From: Richard Hult Date: Wed, 30 Apr 2008 17:46:00 +0000 Subject: [PATCH] Don't send nsevents with the gdk lock held, fixes deadlock when doing 2008-04-30 Richard Hult * gdk/quartz/gdkevents-quartz.c: (_gdk_events_queue): Don't send nsevents with the gdk lock held, fixes deadlock when doing manual window resizing with threading enabled. svn path=/trunk/; revision=20055 --- ChangeLog | 6 ++++++ gdk/quartz/gdkevents-quartz.c | 6 +++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 06f53c84d0..aa36321bb4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2008-04-30 Richard Hult + + * gdk/quartz/gdkevents-quartz.c: (_gdk_events_queue): Don't send + nsevents with the gdk lock held, fixes deadlock when doing manual + window resizing with threading enabled. + 2008-04-30 Richard Hult * gdk/quartz/gdkevents-quartz.c: diff --git a/gdk/quartz/gdkevents-quartz.c b/gdk/quartz/gdkevents-quartz.c index 01b95ff415..61a42bff8e 100644 --- a/gdk/quartz/gdkevents-quartz.c +++ b/gdk/quartz/gdkevents-quartz.c @@ -1948,7 +1948,11 @@ _gdk_events_queue (GdkDisplay *display) if (event) { if (!gdk_event_translate (event)) - [NSApp sendEvent:event]; + { + GDK_THREADS_LEAVE (); + [NSApp sendEvent:event]; + GDK_THREADS_ENTER (); + } _gdk_quartz_event_loop_release_event (event); } -- 2.30.2